/*输入一个无符号整数n（unsigned int类型），n可以用一个32位的二进制数表示（不足32位用0补足），我们称这个二进制数的前16位为“高位”，后16位为“低位”，输出将n的高位和低位交换后的值（用十进制表示）。 例如：输入1314520，它的二进制表示为0000 0000 0001 0100 0000 1110 1101 1000（添加了11个0补足为32位），其中前16位为高位，即0000 0000 0001 0100；后16位为低位，即0000 1110 1101 1000。将它的高低位进行交换，得到了一个新的二进制数0000 1110 1101 1000 0000 0000 0001 0100，它对应的十进制数为249036820，所以输出249036820。（unsigned int对应输出输出格式为%u）*/

#include <iostream>
using namespace std;

int main()
{
    unsigned int num;
    cin >> num;
    unsigned int high = num >> 16;
    unsigned int low = num << 16;
    unsigned int result = high | low;
    cout << result;
    return 0;
}